home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-11-19 | 2.6 KB | 158 lines | [TEXT/MPS ] |
- /*
- File: MITest1.cp
-
- Contains: Multiple-inheritance test classes
-
- Copyright: © 1993 by Apple Computer, Inc., all rights reserved.
-
- */
-
- #ifndef __MITEST1__
- #include "MITest1.h"
- #endif
-
- /*******************************************************************************
- ** MMixin1
- ********************************************************************************/
-
- MMixin1::MMixin1(int a)
- {
- fFieldm = a;
- }
-
- MMixin1::~MMixin1()
- {}
-
- int MMixin1::Add1(int a)
- {
- return fFieldm += a + 1;
- }
-
- int MMixin1::Sub1(int a)
- {
- return fFieldm -= a + 1;
- }
-
- /*******************************************************************************
- ** MMixin2
- ********************************************************************************/
-
- MMixin2::MMixin2(int a)
- {
- fFieldm = a;
- }
-
- MMixin2::~MMixin2()
- {}
-
- int MMixin2::Add2(int a)
- {
- return fFieldm += a + 2;
- }
-
- int MMixin2::Sub2(int a)
- {
- return fFieldm -= a + 2;
- }
-
- /*******************************************************************************
- ** MMixin3
- ********************************************************************************/
-
- MMixin3::MMixin3(int a)
- {
- fFieldm = a;
- }
-
- MMixin3::~MMixin3()
- {}
-
- int MMixin3::Add3(int a)
- {
- return fFieldm += a + 3;
- }
-
- int MMixin3::Sub3(int a)
- {
- return fFieldm -= a + 3;
- }
-
- /*******************************************************************************
- ** TMainClass
- ********************************************************************************/
-
- TMainClass::TMainClass(int a)
- {
- fFieldt = a;
- }
-
- TMainClass::~TMainClass()
- {}
-
- int TMainClass::Mul(int a)
- {
- return fFieldt *= a*2;
- }
-
- int TMainClass::Div(int a)
- {
- return fFieldt /= a*2;
- }
-
- /*******************************************************************************
- ** TMixedClass
- ********************************************************************************/
-
- TMixedClass::TMixedClass(int a) :
- MMixin1(a), MMixin2(a), TMainClass(a)
- {}
-
- TMixedClass::~TMixedClass()
- {}
-
- int TMixedClass::Sub1(int a)
- {
- return MMixin1::fFieldm -= a;
- }
-
- int TMixedClass::Add2(int a)
- {
- return MMixin2::fFieldm += a;
- }
-
- int TMixedClass::Div(int a)
- {
- return fFieldt /= a;
- }
-
- /*******************************************************************************
- ** TMixedClass2
- ********************************************************************************/
-
- TMixedClass2::TMixedClass2(int a) :
- MMixin3(a), TMixedClass(a), MMixin1(a)
- {}
-
- TMixedClass2::~TMixedClass2()
- {}
-
- int TMixedClass2::Sub2(int a)
- {
- return MMixin2::fFieldm -= a;
- }
-
- int TMixedClass2::Add1(int a)
- {
- return MMixin1::fFieldm += a;
- }
-
- int TMixedClass2::Add3(int a)
- {
- return MMixin3::fFieldm += a;
- }
-
- int TMixedClass2::Mul(int a)
- {
- return fFieldt *= a;
- }
-